import threading

# 多线程是在同一个进程下运行的，因此在进程中的全局变量所有线程都是共享的，这就造成一个问题，因为线程执行的顺序是无序的，有可能会造成数据错误，如下面的函数

value = 0


def add_value():
    global value
    for x in range(10000000):
        value += 1
    print('value:', value)


def main():
    threads = []
    for i in range(0, 2):
        t = threading.Thread(target=add_value)
        threads.append(t)

    for i in range(0, 2):
        threads[i].start()


if __name__ == '__main__':
    main()
